package com.ftg.learn.chapter06;

/**
 * @author kangjx
 * @createTime 2022/7/12
 */
public class JumpWell {

    /**
     * 跳 井问题
     * @param height  井深
     * @param jump    跳的高度
     * @param down    下滑的距离
     * @return  int 次数
     */
    public int frog(int height,int jump,int down){

        int no = 1;

        for(int pos = jump;pos < height;pos+=jump){
            pos-=down;
            no++;
        }

        return no;
    }

    /**
     * 跳 井问题
     * @param height  井深
     * @param jump    跳的高度
     * @param down    下滑的距离
     * @return  int 次数
     */
    public int frogWhile(int height,int jump,int down){

        int no = 1;
        int position = 0;
        while ( (position += jump) < height){
            position-=down;
            no++;
        }

        return no;
    }

    /**
     * 跳 井问题
     * @param height  井深
     * @param jump    跳的高度
     * @param down    下滑的距离
     * @return  int 次数
     */
    public int frogDoWhile(int height,int jump,int down){

        int no = 0;
        int position = 0;
        do{
            position = (no != 0 ) ? (position-=down) :position;
            position+=jump;
            no++;
        }while(position < height);
        return no;
    }

    //单一原则
    public void oneStart(){
        System.out.print("*");
    }

    public void rowStart(int l){
        for(int i = 0;i < l;i++){
            oneStart();
        }
    }

    public void mangRowStart(int h,int l){
        for(int i = 0 ;i < h;i++){
            rowStart(l);
            System.out.println();
        }
    }

//    public void mangRowStart1(int h,int l){
//        1        2            3
//        for(int i = 0 ;i < h;i++){
//            4
//                  4.1     4.2     4.3
//            for(int j = 0;j < l;j++){
//                4.4
//                System.out.print("*");
//            }
//            4.5
//            System.out.println();
//        }
//    }

    public void mangRowStart1(int h,int l){
        for(int i = 0 ;i < h;i++){
            for(int j = 0;j < l;j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }

    public void nine(int h,int l){
        for(int i = 0; i < h;i++){
            for(int j = 0;j < l;j++){
                System.out.print( i >= j?"*\t":" \t");
            }
            System.out.println();
        }
    }


}
